package com.yunhe.estatemanage.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunhe.common.annotation.NameTitle;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @ClassName: ProcessStatus
 * @Description:
 * @author: GongDaCheng
 * @Date: 9:36 2021/9/3
 */
@Data
@ApiModel(value = "ProcessStatus", description = "流程状态")
public class ProcessStatus implements Serializable {

    private static final long serialVersionUID = 6933932809434898645L;

    /**
     * id
     */
    @ApiModelProperty("id")
    private Long id;

    /**
     * 事项id
     */
    @ApiModelProperty("事项id")
    private Long reportForRepairId;

    /**
     * 处理时间
     */
    @ApiModelProperty("处理时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String processingTime;

    /**
     * 处理节点 1提交需求 2需求分派 3需求处理 4已完成 5撤销 6中止 7退回
     */
    @ApiModelProperty("处理节点 1提交需求 2需求分派 3需求处理 4已完成 5撤销 6中止 7退回")
    private String processNode;

    /**
     * 当前状态 进行中（1待派发 2处理中） 已完成（3已完成 4撤销 5中止）
     */
    @ApiModelProperty("当前状态 进行中（1待派发 2处理中） 已完成（3已完成 4撤销 5中止）")
    private String currentStatus;

    /**
     * 操作者id
     */
    @ApiModelProperty("操作者id")
    private Long operatorId;

    /**
     * 操作者名称
     */
    @ApiModelProperty("操作者名称")
    @NameTitle(nameCode = "operatorId",nameType = "USER")
    private String operatorName;

    /**
     * 组织id
     */
    @ApiModelProperty("组织id")
    private Long orgId;

    /**
     * 组织名称
     */
    @ApiModelProperty("组织名称")
    @NameTitle(nameCode = "orgId",nameType = "ORG")
    private String orgName;

    /**
     * 处理人id
     */
    @ApiModelProperty("处理人id")
    private Long handlerId;

    /**
     * 处理人名称
     */
    @ApiModelProperty("处理人名称")
    @NameTitle(nameCode = "handlerId",nameType = "USER")
    private String handlerName;

    /**
     * 处理照片链接，多张用逗号隔开
     */
    @ApiModelProperty("处理照片链接，多张用逗号隔开")
    private String processPictures;

    /**
     * 处理反馈
     */
    @ApiModelProperty("处理反馈")
    private String processingFeedback;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String updateTime;

    /**
     * 满意度分值
     */
    @ApiModelProperty("满意度分值")
    private double satisfactionScore;

    /**
     * 满意度反馈建议
     */
    @ApiModelProperty("满意度反馈建议")
    private String satisfactionFeedback;

}
